﻿// 1374. 穿越栅栏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/1376/

农夫约翰发疯了，居然在田野中建造了一个巨大的用栅栏搭成的迷宫。

所幸的是，迷宫的边缘有两处栏杆处于空缺状态，也就是说迷宫有两个出口。

而这个迷宫也设计的非常完美，从任何位置出发，都能够找到迷宫的出路。

给定迷宫的宽度 W 和高度 H，迷宫可以被看作一个方格矩阵。

我们可以用一个 2×H+1 行，每行 2×W+1 个字符的矩阵来描绘整个迷宫，具体形式可参考下面的示例。

我们现在要在迷宫中找到最糟糕的位置，最糟糕的位置是指一头奶牛从某地出发，以最优的方式走向距离该地最近的出口，走出迷宫所需行走步数最多的地点。

已知，牛们只会沿着 X 轴或 Y 轴的方向移动，每一步只能从一个方格移动到另一个方格之中（走出迷宫，也算一步）。

下面是一个 W=5,H=3 的迷宫：

+-+-+-+-+-+
|         |
+-+ +-+ + +
|     | | |
+ +-+-+ + +
| |     |
+-+ +-+-+-+
栅栏柱只出现在奇数行和奇数列中，每个迷宫的边缘都有两个出口。

请问，一头牛从最糟糕点出发，走出迷宫最少要用多少步。

输入格式
第一行包含两个整数 W 和 H。

接下来 2×H+1 行，每行 2×W+1 个字符，用来描述迷宫。

输出格式
输出一个整数，表示从最糟糕点出发，走出迷宫所需的最少步数。

数据范围
1≤W≤38，
1≤H≤100
输入样例：
5 3
+-+-+-+-+-+
|         |
+-+ +-+ + +
|     | | |
+ +-+-+ + +
| |     |
+-+ +-+-+-+
输出样例：
9
*/
int main()
{
    std::cout << "Hello World!\n";
}
 